package day01;

/**
 * 单例模式 饿汉式(静态变量)
 *staticVariable
 * @Author chenyeqing
 * @Date 2021/6/24 23:06
 */
public class SingletonHungryStaticVariable {
    /**
     * private 无法通过静态变量实现
     * static 可以不用 new 就使用
     * final 如果需要资源关闭，就不需要添加 final
     */
    private static SingletonHungryStaticVariable singletonHungryStaticVariable = new SingletonHungryStaticVariable();

    /**
     * private 无法通过构造方式实现
      */
    private SingletonHungryStaticVariable() {
    }

    public static SingletonHungryStaticVariable getSingleton() {
        return singletonHungryStaticVariable;
    }

    /**
     * 测试输出
     * @return
     */
    public String out() {
        return "单例模式-饿汉式-静态变量";
    }

    /**
     * 资源关闭
     */
    public void close() {
        if (singletonHungryStaticVariable != null) {
            singletonHungryStaticVariable = null;
        }
    }
}
